iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0
自我挑戰組

《雜學》 ︳MISCELLANEOUS LEARNING系列 第 8

〈入門.行列上〉︳GETTING STARTED ON TUPLES AND LISTS

  • 分享至 

  • xImage
  •  

          《文言陰符》有云:天下之物既眾。或不知幾何。或不可勝數。皆以列法法之。夫列者,列諸物也,其物不拘,或列數,或列言,或列爻,或列列,或列辨,或列空,或俱列,皆不限也。

          今蚺之列者,元組、串列、字典、集合也。元組,()也,以括弧列物也。串列,[]也,以方括弧列物也。字典,{}也,以花括弧列主從也。集合,曰set()、曰{1}也,以花括弧列主也。列有取更法,取法,曰取物之法,各列詳述。更法有二,一曰更物之法,或充或易或刪,二曰更列之法,或銜或更或刪。

元組

          夫元組,列者,列物有序,序以讀分,分之以數也。其序始於零,次為一,再次云云也。僅有一物者,不成元組。夫元組之取更,更物之法,皆不可也,更列之法,皆可也。取物之法,取物以序,序於方括弧,方括弧置名旁。

          問曰:「今有一列元組,乃一至五也,則何以列物,且書之何如?」

# 一至五之元組,列之如下
a = (1, 2, 3, 4, 5)
print(a)
(1, 2, 3, 4, 5)

          問曰:「今有一列元組,乃一至五也,刪之何如?」
          術曰:「del()也,欲刪之列於括弧內。」

a = (1, 2, 3, 4, 5)
print(a)
del(a)
print(a)
(1, 2, 3, 4, 5)
Traceback (most recent call last):
  File "C:\Users\ghost\OneDrive\Project\AnythingElse\a.py", line 5, in <module>
    print(b)
NameError: name 'b' is not defined

          問曰:「今有二列元組,一曰一至五,二曰六至十,欲銜之,乃得?」
          術曰:「二列相加也。」

a = (1, 2, 3, 4, 5)
b = (6, 7, 8, 9, 10)
print(a+b)
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

          問曰:「今有一列元組,一至五也,欲取物,取第一並取第二至第四,安能得之?」
          術曰:「取第一,故取列之序之始,a[0]也。取第二至第四,取多物者,始者,取欲取之物之序,尾者,取欲取之物之序加一也,始尾以冒號分之。故a[1:4]也」

# 元組,一至五也
a = (1, 2, 3, 4, 5)
# 取第一,故取列之序之始,乃零也
print(a[0])
# 取第二至第四,故取序之一,冒號分之,取序之四
print(a[1:4])
1
(2, 3, 4)

串列

          夫串列,列者,列物大抵相同元組,然僅一物者,亦為串列。夫串列之取更,亦相同於元組也。唯更物之法,充易刪皆可也。故今欲通串列者,先明元組也。示其例以書之、更物也。

# 書之,一至五
a = [1, 2, 3, 4, 5]
print(a)
[1, 2, 3, 4, 5]

          問曰:「今有一列串列,乃一至五也,欲易其第一以致五,刪其第二,充物以六。何如?」
          術曰:「易物之法先取物,故取第一曰a[0],然令之為五,乃得。刪其第二亦先取物後以del(),乃刪。充物先知其名,後以append(),欲充之物於括弧,乃充。」

a = [1, 2, 3, 4, 5]
print(a)
a[0] = 5
print(a)
del a[1]
print(a)
a.append(6)
print(a)
[1, 2, 3, 4, 5]
[5, 2, 3, 4, 5]
[5, 3, 4, 5]
[5, 3, 4, 5, 6]

上一篇
〈入門.算術〉︳GETTING STARTED ON ARITHMETIC
下一篇
〈入門.行列下〉︳GETTING STARTED ON DICTIONARIES AND SETS
系列文
《雜學》 ︳MISCELLANEOUS LEARNING30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言